[INFO] fetching crate momento-functions-host 0.15.1...
[INFO] testing momento-functions-host-0.15.1 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate momento-functions-host 0.15.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate momento-functions-host 0.15.1
[INFO] finished tweaking crates.io crate momento-functions-host 0.15.1
[INFO] tweaked toml for crates.io crate momento-functions-host 0.15.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate momento-functions-host 0.15.1 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate momento-functions-host 0.15.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1e579f5f730b9539eeb213731f1a2391829c5321cbc603d304707a24cdbe0ac5
[INFO] running `Command { std: "docker" "start" "-a" "1e579f5f730b9539eeb213731f1a2391829c5321cbc603d304707a24cdbe0ac5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1e579f5f730b9539eeb213731f1a2391829c5321cbc603d304707a24cdbe0ac5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e579f5f730b9539eeb213731f1a2391829c5321cbc603d304707a24cdbe0ac5", kill_on_drop: false }`
[INFO] [stdout] 1e579f5f730b9539eeb213731f1a2391829c5321cbc603d304707a24cdbe0ac5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 23e7f92fbdf1253c2266efff75007819dc25cbb1e842a85598264277f56108ab
[INFO] running `Command { std: "docker" "start" "-a" "23e7f92fbdf1253c2266efff75007819dc25cbb1e842a85598264277f56108ab", kill_on_drop: false }`
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling wasmparser v0.227.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling wasm-encoder v0.227.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling id-arena v2.2.1
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling leb128fmt v0.1.0
[INFO] [stderr]    Compiling topological-sort v0.2.2
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling spdx v0.10.9
[INFO] [stderr]    Compiling wit-bindgen-rust v0.41.0
[INFO] [stderr]    Compiling wit-bindgen-rust-macro v0.41.0
[INFO] [stderr]    Compiling wit-bindgen-rt v0.41.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling flate2 v1.1.8
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling auditable-serde v0.8.0
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling wit-parser v0.227.1
[INFO] [stderr]    Compiling wasm-metadata v0.227.1
[INFO] [stderr]    Compiling wit-bindgen-core v0.41.0
[INFO] [stderr]    Compiling wit-component v0.227.1
[INFO] [stderr]    Compiling wit-bindgen v0.41.0
[INFO] [stderr]    Compiling momento-functions-wit v0.15.1
[INFO] [stderr]    Compiling momento-functions-host v0.15.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "23e7f92fbdf1253c2266efff75007819dc25cbb1e842a85598264277f56108ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23e7f92fbdf1253c2266efff75007819dc25cbb1e842a85598264277f56108ab", kill_on_drop: false }`
[INFO] [stdout] 23e7f92fbdf1253c2266efff75007819dc25cbb1e842a85598264277f56108ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9a270af4f1d051d00914d0e36d85edbf5ec673e6054c97921c5cccc57b8bdd36
[INFO] running `Command { std: "docker" "start" "-a" "9a270af4f1d051d00914d0e36d85edbf5ec673e6054c97921c5cccc57b8bdd36", kill_on_drop: false }`
[INFO] [stderr]    Compiling momento-functions-host v0.15.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.21s
[INFO] running `Command { std: "docker" "inspect" "9a270af4f1d051d00914d0e36d85edbf5ec673e6054c97921c5cccc57b8bdd36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a270af4f1d051d00914d0e36d85edbf5ec673e6054c97921c5cccc57b8bdd36", kill_on_drop: false }`
[INFO] [stdout] 9a270af4f1d051d00914d0e36d85edbf5ec673e6054c97921c5cccc57b8bdd36
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2da37130d40a77cace01e01bfb2276a157d1d5de494c5dda84b85c87153c8e33
[INFO] running `Command { std: "docker" "start" "-a" "2da37130d40a77cace01e01bfb2276a157d1d5de494c5dda84b85c87153c8e33", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/momento_functions_host-b302592a77f414a8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests momento_functions_host
[INFO] [stderr] warning: unknown attribute `no-run`
[INFO] [stderr]    --> src/aws/s3.rs:98:5
[INFO] [stderr]     |
[INFO] [stderr]  98 | /     /// Create a new S3 client.
[INFO] [stderr]  99 | |     ///
[INFO] [stderr] 100 | |     /// ```rust,no-run
[INFO] [stderr] 101 | |     /// # use momento_functions_host::aws::auth::AwsCredentialsProvider;
[INFO] [stderr] ...   |
[INFO] [stderr] 114 | |     /// # }
[INFO] [stderr] 115 | |     /// ```
[INFO] [stderr]     | |___________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `no_run` to compile, but not run, the code sample during testing
[INFO] [stderr]     = help: this code block may be skipped during testing, because unknown attributes are treated as markers for code samples written in other programming languages, unless it is also explicitly marked as `rust`
[INFO] [stderr]     = note: `#[warn(rustdoc::invalid_codeblock_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unknown attribute `no-run`
[INFO] [stderr]    --> src/aws/s3.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 | /     /// Put an object into an S3 bucket.
[INFO] [stderr] 123 | |     ///
[INFO] [stderr] 124 | |     /// You can use strings, bytes, or structs that are Serializable.
[INFO] [stderr] 125 | |     ///
[INFO] [stderr] ...   |
[INFO] [stderr] 170 | |     /// # Ok(())}
[INFO] [stderr] 171 | |     /// ```
[INFO] [stderr]     | |___________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `no_run` to compile, but not run, the code sample during testing
[INFO] [stderr]     = help: this code block may be skipped during testing, because unknown attributes are treated as markers for code samples written in other programming languages, unless it is also explicitly marked as `rust`
[INFO] [stderr] 
[INFO] [stderr] warning: unknown attribute `no-run`
[INFO] [stderr]    --> src/aws/s3.rs:181:5
[INFO] [stderr]     |
[INFO] [stderr] 181 | /     /// Put an object into an S3 bucket with additional options.
[INFO] [stderr] 182 | |     ///
[INFO] [stderr] 183 | |     /// This is the same as [`put`](S3Client::put), but allows you to specify
[INFO] [stderr] 184 | |     /// content-type and content-encoding for the object.
[INFO] [stderr] ...   |
[INFO] [stderr] 202 | |     /// # Ok(())}
[INFO] [stderr] 203 | |     /// ```
[INFO] [stderr]     | |___________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `no_run` to compile, but not run, the code sample during testing
[INFO] [stderr]     = help: this code block may be skipped during testing, because unknown attributes are treated as markers for code samples written in other programming languages, unless it is also explicitly marked as `rust`
[INFO] [stderr] 
[INFO] [stderr] warning: unknown attribute `no-run`
[INFO] [stderr]    --> src/aws/s3.rs:292:5
[INFO] [stderr]     |
[INFO] [stderr] 292 | /     /// Get an object from an S3 bucket with additional options.
[INFO] [stderr] 293 | |     ///
[INFO] [stderr] 294 | |     /// This is the same as [`get`](S3Client::get), but allows you to specify
[INFO] [stderr] 295 | |     /// request options and returns content metadata (like content-type) alongside the value.
[INFO] [stderr] ...   |
[INFO] [stderr] 315 | |     /// # Ok(())}
[INFO] [stderr] 316 | |     /// ```
[INFO] [stderr]     | |___________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `no_run` to compile, but not run, the code sample during testing
[INFO] [stderr]     = help: this code block may be skipped during testing, because unknown attributes are treated as markers for code samples written in other programming languages, unless it is also explicitly marked as `rust`
[INFO] [stderr] 
[INFO] [stderr] warning: unknown attribute `no-run`
[INFO] [stderr]   --> src/aws/secrets_manager.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 74 | /     /// Create a new Secrets Manager client.
[INFO] [stderr] 75 | |     ///
[INFO] [stderr] 76 | |     ///
[INFO] [stderr] 77 | |     /// ```rust,no-run
[INFO] [stderr] ...  |
[INFO] [stderr] 91 | |     /// # }
[INFO] [stderr] 92 | |     /// ```
[INFO] [stderr]    | |___________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `no_run` to compile, but not run, the code sample during testing
[INFO] [stderr]    = help: this code block may be skipped during testing, because unknown attributes are treated as markers for code samples written in other programming languages, unless it is also explicitly marked as `rust`
[INFO] [stderr] 
[INFO] [stderr] warning: 5 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 74 tests
[INFO] [stdout] test src/aws/auth.rs - aws::auth::AwsCredentialsProvider::new (line 86) - compile ... FAILED
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::put_item (line 178) ... ok
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::get_item (line 84) ... FAILED
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::new (line 58) ... ok
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::Item (line 375) ... FAILED
[INFO] [stdout] test src/aws/auth.rs - aws::auth::AwsCredentialsProvider::new (line 97) - compile ... FAILED
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::get_item_raw (line 127) ... ok
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::DynamoDBClient::put_item (line 193) ... ok
[INFO] [stdout] test src/aws/auth.rs - aws::auth::build_environment_aws_credentials (line 31) ... ok
[INFO] [stdout] test src/aws/auth.rs - aws::auth::build_environment_aws_credentials (line 25) ... ok
[INFO] [stdout] test src/aws/s3.rs - aws::s3::S3Client::get_with_options (line 301) ... FAILED
[INFO] [stdout] test src/aws/lambda.rs - aws::lambda::LambdaClient::new (line 38) ... ok
[INFO] [stdout] test src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 66) ... FAILED
[INFO] [stdout] test src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 98) ... FAILED
[INFO] [stdout] test src/aws/s3.rs - aws::s3::ObjectOptions (line 28) ... ok
[INFO] [stdout] test src/aws/s3.rs - aws::s3::S3Client::put_with_options (line 188) ... FAILED
[INFO] [stdout] test src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 121) - compile ... FAILED
[INFO] [stdout] test src/aws/s3.rs - aws::s3::S3Client::get (line 259) ... FAILED
[INFO] [stdout] test src/aws/s3.rs - aws::s3::S3Client::get (line 241) ... FAILED
[INFO] [stdout] test src/aws/s3.rs - aws::s3::S3Client::put (line 131) ... FAILED
[INFO] [stdout] test src/aws/ddb.rs - aws::ddb::Item (line 368) ... ok
[INFO] [stdout] test src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_latest_secret_value (line 206) - compile ... FAILED
[INFO] [stdout] test src/aws/s3.rs - aws::s3::S3Client::new (line 100) ... ok
[INFO] [stdout] test src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 135) - compile ... FAILED
[INFO] [stdout] test src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 169) - compile ... FAILED
[INFO] [stdout] test src/cache.rs - cache::get (line 58) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::get_with_hash (line 301) ... FAILED
[INFO] [stdout] test src/aws/s3.rs - aws::s3::S3Client::put (line 153) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::list_push_back (line 494) ... FAILED
[INFO] [stdout] test src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 153) - compile ... FAILED
[INFO] [stdout] test src/cache.rs - cache::list_push_front (line 541) ... FAILED
[INFO] [stdout] test src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::new (line 77) ... ok
[INFO] [stdout] test src/cache.rs - cache::set_if (line 191) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::set (line 101) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::set_if (line 167) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::get (line 48) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::set_if_hash (line 337) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::set (line 86) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::set_if (line 207) ... FAILED
[INFO] [stdout] test src/cache.rs - cache::delete (line 246) ... ok
[INFO] [stdout] test src/http.rs - http::post (line 180) ... FAILED
[INFO] [stdout] test src/http.rs - http::put (line 116) ... FAILED
[INFO] [stdout] test src/http.rs - http::post_aws_sigv4 (line 410) ... FAILED
[INFO] [stdout] test src/redis.rs - redis::RedisClient::pipe (line 324) ... FAILED
[INFO] [stdout] test src/http.rs - http::Response::extract (line 27) ... FAILED
[INFO] [stdout] test src/http.rs - http::delete_aws_sigv4 (line 463) ... ok
[INFO] [stdout] test src/http.rs - http::get (line 66) ... ok
[INFO] [stdout] test src/http.rs - http::put_aws_sigv4 (line 357) ... FAILED
[INFO] [stdout] test src/http.rs - http::delete (line 245) ... ok
[INFO] [stdout] test src/token.rs - token::CachePermissions::write_only (line 294) ... FAILED
[INFO] [stdout] test src/token.rs - token::CachePermissions::read_write (line 254) ... FAILED
[INFO] [stdout] test src/http.rs - http::get_aws_sigv4 (line 308) ... ok
[INFO] [stdout] test src/token.rs - token::Permissions::new (line 117) ... FAILED
[INFO] [stdout] test src/redis.rs - redis::RedisClusterClient::command (line 193) ... ok
[INFO] [stdout] test src/redis.rs - redis::RedisClient::new (line 225) ... ok
[INFO] [stdout] test src/token.rs - token::CachePermissions::read_only (line 274) ... FAILED
[INFO] [stdout] test src/token.rs - token::CachePermissions::new (line 232) ... FAILED
[INFO] [stdout] test src/token.rs - token::FunctionPermissions::new (line 554) ... FAILED
[INFO] [stdout] test src/spawn.rs - spawn::spawn (line 21) ... FAILED
[INFO] [stdout] test src/token.rs - token::FunctionPermissions::invoke (line 576) ... FAILED
[INFO] [stdout] test src/topics.rs - topics::publish (line 27) ... FAILED
[INFO] [stdout] test src/token.rs - token::TopicPermissions::read_only (line 435) ... FAILED
[INFO] [stdout] test src/token.rs - token::TopicPermissions::write_only (line 455) ... FAILED
[INFO] [stdout] test src/token.rs - token::TopicPermissions::read_write (line 415) ... FAILED
[INFO] [stdout] test src/web_extensions.rs - web_extensions::FunctionEnvironment::cache_name (line 76) ... FAILED
[INFO] [stdout] test src/token.rs - token::TopicPermissions::new (line 393) ... FAILED
[INFO] [stdout] test src/web_extensions.rs - web_extensions::FunctionEnvironment::function_name (line 84) ... FAILED
[INFO] [stdout] test src/topics.rs - topics::publish (line 38) ... FAILED
[INFO] [stdout] test src/web_extensions.rs - web_extensions::FunctionEnvironment::query_parameters (line 109) - compile ... ok
[INFO] [stdout] test src/web_extensions.rs - web_extensions::FunctionEnvironment::headers (line 100) - compile ... ok
[INFO] [stdout] test src/web_extensions.rs - web_extensions::FunctionEnvironment::invocation_id (line 92) ... FAILED
[INFO] [stdout] test src/topics.rs - topics::publish (line 49) ... FAILED
[INFO] [stdout] test src/web_extensions.rs - web_extensions::FunctionEnvironment::token_metadata (line 118) - compile ... ok
[INFO] [stdout] test src/web_extensions.rs - web_extensions::FunctionEnvironment (line 46) - compile ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/aws/auth.rs - aws::auth::AwsCredentialsProvider::new (line 86) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/aws/auth.rs:91:94
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_aws_auth_rs_86_0() {
[INFO] [stdout]    |                                      --------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 91 | let provider = AwsCredentialsProvider::new("us-east-1", build_environment_aws_credentials!())?;
[INFO] [stdout]    |                                                                                              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 87 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_aws_auth_rs_86_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 88 | // Not run because docs.rs does not run a Momento WIT host environment, of course!
[INFO] [stdout] ...
[INFO] [stdout] 91 | let provider = AwsCredentialsProvider::new("us-east-1", build_environment_aws_credentials!())?;
[INFO] [stdout] 92 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/ddb.rs - aws::ddb::DynamoDBClient::get_item (line 84) stdout ----
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `std::string::String`
[INFO] [stdout]    --> src/aws/ddb.rs:104:114
[INFO] [stdout]     |
[INFO] [stdout] 104 |             some_attribute: value.attributes.remove("some_attribute").ok_or("missing some_attribute")?.try_into()?,
[INFO] [stdout]     |                                                                                                        ----------^ the trait `From<ConversionError>` is not implemented for `std::string::String`
[INFO] [stdout]     |                                                                                                        |
[INFO] [stdout]     |                                                                                                        this can't be annotated with `?` because it has type `Result<_, ConversionError>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `std::string::String` implements `From<&mut str>`
[INFO] [stdout]               `std::string::String` implements `From<&std::string::String>`
[INFO] [stdout]               `std::string::String` implements `From<&str>`
[INFO] [stdout]               `std::string::String` implements `From<Box<str>>`
[INFO] [stdout]               `std::string::String` implements `From<Cow<'_, str>>`
[INFO] [stdout]               `std::string::String` implements `From<char>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/ddb.rs - aws::ddb::Item (line 375) stdout ----
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `std::string::String`
[INFO] [stdout]    --> src/aws/ddb.rs:396:114
[INFO] [stdout]     |
[INFO] [stdout] 396 |             some_attribute: value.attributes.remove("some_attribute").ok_or("missing some_attribute")?.try_into()?,
[INFO] [stdout]     |                                                                                                        ----------^ the trait `From<ConversionError>` is not implemented for `std::string::String`
[INFO] [stdout]     |                                                                                                        |
[INFO] [stdout]     |                                                                                                        this can't be annotated with `?` because it has type `Result<_, ConversionError>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `std::string::String` implements `From<&mut str>`
[INFO] [stdout]               `std::string::String` implements `From<&std::string::String>`
[INFO] [stdout]               `std::string::String` implements `From<&str>`
[INFO] [stdout]               `std::string::String` implements `From<Box<str>>`
[INFO] [stdout]               `std::string::String` implements `From<Cow<'_, str>>`
[INFO] [stdout]               `std::string::String` implements `From<char>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/auth.rs - aws::auth::AwsCredentialsProvider::new (line 97) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/aws/auth.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 |         role_arn: "your-full-ARN-path-to-your-role"
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 106 |         role_arn: "your-full-ARN-path-to-your-role".to_string()
[INFO] [stdout]     |                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/s3.rs - aws::s3::S3Client::get_with_options (line 301) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:305:39
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn f(client: &S3Client) -> Result<(), S3GetError<&str>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `S3GetError<&str>`
[INFO] [stdout]    --> src/aws/s3.rs:310:2
[INFO] [stdout]     |
[INFO] [stdout] 305 |   fn f(client: &S3Client) -> Result<(), S3GetError<&str>> {
[INFO] [stdout]     |                              ---------------------------- expected `S3GetError<&str>` because of this
[INFO] [stdout] 306 |   let result = client.get_with_options::<Vec<u8>>(
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 307 | |     "my-bucket",
[INFO] [stdout] 308 | |     "my-key",
[INFO] [stdout] 309 | |     ObjectOptions::default(),
[INFO] [stdout] 310 | | )?;
[INFO] [stdout]     | | -^ the trait `From<S3GetError<Infallible>>` is not implemented for `S3GetError<&str>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, S3GetError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_s3::S3Error>` is implemented for `S3GetError<E>`
[INFO] [stdout]    --> src/aws/s3.rs:94:13
[INFO] [stdout]     |
[INFO] [stdout]  94 |     S3Error(#[from] S3Error),
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:306:14
[INFO] [stdout]     |
[INFO] [stdout] 306 |   let result = client.get_with_options::<Vec<u8>>(
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 307 | |     "my-bucket",
[INFO] [stdout] 308 | |     "my-key",
[INFO] [stdout] 309 | |     ObjectOptions::default(),
[INFO] [stdout] 310 | | )?;
[INFO] [stdout]     | |__^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:316:1
[INFO] [stdout]     |
[INFO] [stdout] 316 | Ok(())}
[INFO] [stdout]     | ^^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 66) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:71:43
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<&str>`
[INFO] [stdout]   --> src/aws/lambda.rs:76:2
[INFO] [stdout]    |
[INFO] [stdout] 71 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                  ----------------------------- expected `InvokeError<&str>` because of this
[INFO] [stdout] 72 |   // With a payload
[INFO] [stdout] 73 |   client.invoke(
[INFO] [stdout]    |  ________-
[INFO] [stdout] 74 | |     "my_lambda_function",
[INFO] [stdout] 75 | |     "hello world",
[INFO] [stdout] 76 | | )?;
[INFO] [stdout]    | | -^ the trait `From<InvokeError<Infallible>>` is not implemented for `InvokeError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout]   --> src/aws/lambda.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     LambdaError(#[from] LambdaError),
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:73:1
[INFO] [stdout]    |
[INFO] [stdout] 73 | / client.invoke(
[INFO] [stdout] 74 | |     "my_lambda_function",
[INFO] [stdout] 75 | |     "hello world",
[INFO] [stdout] 76 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<&str>`
[INFO] [stdout]   --> src/aws/lambda.rs:82:2
[INFO] [stdout]    |
[INFO] [stdout] 71 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                  ----------------------------- expected `InvokeError<&str>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 79 |   client.invoke(
[INFO] [stdout]    |  ________-
[INFO] [stdout] 80 | |     ("my_lambda_function", "v1"),
[INFO] [stdout] 81 | |     "hello world",
[INFO] [stdout] 82 | | )?;
[INFO] [stdout]    | | -^ the trait `From<InvokeError<Infallible>>` is not implemented for `InvokeError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout]   --> src/aws/lambda.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     LambdaError(#[from] LambdaError),
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / client.invoke(
[INFO] [stdout] 80 | |     ("my_lambda_function", "v1"),
[INFO] [stdout] 81 | |     "hello world",
[INFO] [stdout] 82 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<&str>`
[INFO] [stdout]   --> src/aws/lambda.rs:88:2
[INFO] [stdout]    |
[INFO] [stdout] 71 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                  ----------------------------- expected `InvokeError<&str>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 85 |   client.invoke(
[INFO] [stdout]    |  ________-
[INFO] [stdout] 86 | |     "my_lambda_function",
[INFO] [stdout] 87 | |     (),
[INFO] [stdout] 88 | | )?;
[INFO] [stdout]    | | -^ the trait `From<InvokeError<Infallible>>` is not implemented for `InvokeError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout]   --> src/aws/lambda.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     LambdaError(#[from] LambdaError),
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | / client.invoke(
[INFO] [stdout] 86 | |     "my_lambda_function",
[INFO] [stdout] 87 | |     (),
[INFO] [stdout] 88 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<&str>`
[INFO] [stdout]   --> src/aws/lambda.rs:94:2
[INFO] [stdout]    |
[INFO] [stdout] 71 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<&str>> {
[INFO] [stdout]    |                                  ----------------------------- expected `InvokeError<&str>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 91 |   client.invoke(
[INFO] [stdout]    |  ________-
[INFO] [stdout] 92 | |     "my_lambda_function",
[INFO] [stdout] 93 | |     b"some literal bytes".to_vec(),
[INFO] [stdout] 94 | | )?;
[INFO] [stdout]    | | -^ the trait `From<InvokeError<Infallible>>` is not implemented for `InvokeError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, InvokeError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout]   --> src/aws/lambda.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     LambdaError(#[from] LambdaError),
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | / client.invoke(
[INFO] [stdout] 92 | |     "my_lambda_function",
[INFO] [stdout] 93 | |     b"some literal bytes".to_vec(),
[INFO] [stdout] 94 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/aws/lambda.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | Ok(())}
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]   --> src/aws/lambda.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum InvokeError<E>
[INFO] [stdout]    |          ----------- required by a bound in this enum
[INFO] [stdout] 21 | where
[INFO] [stdout] 22 |     E: EncodeError,
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 98) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/lambda.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn f(client: &LambdaClient) -> Result<(), InvokeError<Json<MyStruct>>> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]    --> src/aws/lambda.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout]  20 | pub enum InvokeError<E>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout]  21 | where
[INFO] [stdout]  22 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<Json<MyStruct>>`
[INFO] [stdout]    --> src/aws/lambda.rs:117:2
[INFO] [stdout]     |
[INFO] [stdout] 112 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<Json<MyStruct>>> {
[INFO] [stdout]     |                                  --------------------------------------- expected `InvokeError<Json<MyStruct>>` because of this
[INFO] [stdout] 113 |   // Just a request payload, encoded as JSON
[INFO] [stdout] 114 |   client.invoke(
[INFO] [stdout]     |  ________-
[INFO] [stdout] 115 | |     "my_lambda_function",
[INFO] [stdout] 116 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 117 | | )?;
[INFO] [stdout]     | | -^ the trait `From<InvokeError<serde_json::error::Error>>` is not implemented for `InvokeError<Json<MyStruct>>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, InvokeError<serde_json::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout]    --> src/aws/lambda.rs:32:17
[INFO] [stdout]     |
[INFO] [stdout]  32 |     LambdaError(#[from] LambdaError),
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/lambda.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / client.invoke(
[INFO] [stdout] 115 | |     "my_lambda_function",
[INFO] [stdout] 116 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 117 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]    --> src/aws/lambda.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout]  20 | pub enum InvokeError<E>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout]  21 | where
[INFO] [stdout]  22 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<Json<MyStruct>>`
[INFO] [stdout]    --> src/aws/lambda.rs:123:2
[INFO] [stdout]     |
[INFO] [stdout] 112 |   fn f(client: &LambdaClient) -> Result<(), InvokeError<Json<MyStruct>>> {
[INFO] [stdout]     |                                  --------------------------------------- expected `InvokeError<Json<MyStruct>>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 120 |   let Json(reply): Json<Reply> = client.invoke(
[INFO] [stdout]     |  _______________________________________-
[INFO] [stdout] 121 | |     "my_lambda_function",
[INFO] [stdout] 122 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 123 | | )?
[INFO] [stdout]     | | -^ the trait `From<InvokeError<serde_json::error::Error>>` is not implemented for `InvokeError<Json<MyStruct>>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, InvokeError<serde_json::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout]    --> src/aws/lambda.rs:32:17
[INFO] [stdout]     |
[INFO] [stdout]  32 |     LambdaError(#[from] LambdaError),
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/lambda.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |   let Json(reply): Json<Reply> = client.invoke(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 121 | |     "my_lambda_function",
[INFO] [stdout] 122 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 123 | | )?
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]    --> src/aws/lambda.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout]  20 | pub enum InvokeError<E>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout]  21 | where
[INFO] [stdout]  22 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `InvokeError<Json<MyStruct>>`
[INFO] [stdout]    --> src/aws/lambda.rs:124:11
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn f(client: &LambdaClient) -> Result<(), InvokeError<Json<MyStruct>>> {
[INFO] [stdout]     |                                --------------------------------------- expected `InvokeError<Json<MyStruct>>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 124 | .extract()?;
[INFO] [stdout]     |  ---------^ the trait `From<ResponseExtractError<_>>` is not implemented for `InvokeError<Json<MyStruct>>`
[INFO] [stdout]     |  |
[INFO] [stdout]     |  this can't be annotated with `?` because it has type `Result<_, ResponseExtractError<_>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_lambda::LambdaError>` is implemented for `InvokeError<E>`
[INFO] [stdout]    --> src/aws/lambda.rs:32:17
[INFO] [stdout]     |
[INFO] [stdout]  32 |     LambdaError(#[from] LambdaError),
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/lambda.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |   let Json(reply): Json<Reply> = client.invoke(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 121 | |     "my_lambda_function",
[INFO] [stdout] 122 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 123 | | )?
[INFO] [stdout] 124 | | .extract()?;
[INFO] [stdout]     | |___________^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]    --> src/aws/lambda.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout]  20 | pub enum InvokeError<E>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout]  21 | where
[INFO] [stdout]  22 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/lambda.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `InvokeError`
[INFO] [stdout]    --> src/aws/lambda.rs:22:8
[INFO] [stdout]     |
[INFO] [stdout]  20 | pub enum InvokeError<E>
[INFO] [stdout]     |          ----------- required by a bound in this enum
[INFO] [stdout]  21 | where
[INFO] [stdout]  22 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `InvokeError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/s3.rs - aws::s3::S3Client::put_with_options (line 188) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:192:39
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn f(client: &S3Client) -> Result<(), S3PutError<&str>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&[u8; 15]: Encode` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | client.put_with_options(
[INFO] [stdout]     |        ---------------- required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 196 |     b"compressed data",
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ the trait `Encode` is not implemented for `&[u8; 15]`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Encode` is implemented for `&[u8]`
[INFO] [stdout]    --> src/encoding.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl Encode for &[u8] {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `S3Client::put_with_options`
[INFO] [stdout]    --> src/aws/s3.rs:204:32
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn put_with_options<E: Encode>(
[INFO] [stdout]     |                                ^^^^^^ required by this bound in `S3Client::put_with_options`
[INFO] [stdout] help: convert the array to a `&[u8]` slice instead
[INFO] [stdout]     |
[INFO] [stdout] 196 |     &b"compressed data"[..],
[INFO] [stdout]     |     +                  ++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | / client.put_with_options(
[INFO] [stdout] 194 | |     "my-bucket",
[INFO] [stdout] 195 | |     "my-key",
[INFO] [stdout] 196 | |     b"compressed data",
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |     },
[INFO] [stdout] 202 | | )?;
[INFO] [stdout]     | |_^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | client.put_with_options(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | / client.put_with_options(
[INFO] [stdout] 194 | |     "my-bucket",
[INFO] [stdout] 195 | |     "my-key",
[INFO] [stdout] 196 | |     b"compressed data",
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |     },
[INFO] [stdout] 202 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:202:2
[INFO] [stdout]     |
[INFO] [stdout] 202 | )?;
[INFO] [stdout]     |  ^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 121) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/aws/secrets_manager.rs:130:88
[INFO] [stdout]     |
[INFO] [stdout] 130 | let secret: Vec<u8> = client.get_secret_value(GetSecretValueRequest::new("my-secret"), Duration::from_secs(0))?;
[INFO] [stdout]     |                                                                                        ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 120 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/s3.rs - aws::s3::S3Client::get (line 259) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:269:39
[INFO] [stdout]     |
[INFO] [stdout] 269 | fn f(client: &S3Client) -> Result<(), S3GetError<Json<MyStruct>>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:271:44
[INFO] [stdout]     |
[INFO] [stdout] 271 |   let maybe_struct: Option<MyStruct> = match client.get(
[INFO] [stdout]     |  ____________________________________________^
[INFO] [stdout] 272 | |     "my-bucket",
[INFO] [stdout] 273 | |     "my-key",
[INFO] [stdout] 274 | | )? {
[INFO] [stdout]     | |_^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:271:51
[INFO] [stdout]     |
[INFO] [stdout] 271 | let maybe_struct: Option<MyStruct> = match client.get(
[INFO] [stdout]     |                                                   ^^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:271:44
[INFO] [stdout]     |
[INFO] [stdout] 271 |   let maybe_struct: Option<MyStruct> = match client.get(
[INFO] [stdout]     |  ____________________________________________^
[INFO] [stdout] 272 | |     "my-bucket",
[INFO] [stdout] 273 | |     "my-key",
[INFO] [stdout] 274 | | )? {
[INFO] [stdout]     | |__^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:274:2
[INFO] [stdout]     |
[INFO] [stdout] 274 | )? {
[INFO] [stdout]     |  ^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Json<_> as Extract>::Error == Json<MyStruct>`
[INFO] [stdout]    --> src/aws/s3.rs:271:51
[INFO] [stdout]     |
[INFO] [stdout] 271 | let maybe_struct: Option<MyStruct> = match client.get(
[INFO] [stdout]     |                                                   ^^^ expected `Json<MyStruct>`, found `Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Json<MyStruct>`
[INFO] [stdout]                found struct `serde_json::error::Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyStruct: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:271:51
[INFO] [stdout]     |
[INFO] [stdout] 271 | let maybe_struct: Option<MyStruct> = match client.get(
[INFO] [stdout]     |                                                   ^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `for<'de> Deserialize<'de>` is not implemented for `MyStruct`
[INFO] [stdout]    --> src/aws/s3.rs:265:1
[INFO] [stdout]     |
[INFO] [stdout] 265 | struct MyStruct {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `MyStruct` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]             and 158 others
[INFO] [stdout]     = note: required for `MyStruct` to implement `DeserializeOwned`
[INFO] [stdout]     = note: required for `Json<MyStruct>` to implement `momento_functions_host::encoding::Extract`
[INFO] [stdout] note: required by a bound in `S3Client::get`
[INFO] [stdout]    --> src/aws/s3.rs:282:19
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn get<T: Extract>(
[INFO] [stdout]     |                   ^^^^^^^ required by this bound in `S3Client::get`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | Ok(())}
[INFO] [stdout]     | ^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/s3.rs - aws::s3::S3Client::get (line 241) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:246:39
[INFO] [stdout]     |
[INFO] [stdout] 246 | fn f(client: &S3Client) -> Result<(), S3GetError<&str>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:247:32
[INFO] [stdout]     |
[INFO] [stdout] 247 |   let my_value: Option<String> = client.get(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 248 | |     "my-bucket",
[INFO] [stdout] 249 | |     "foo",
[INFO] [stdout] 250 | | )?;
[INFO] [stdout]     | |_^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:247:39
[INFO] [stdout]     |
[INFO] [stdout] 247 | let my_value: Option<String> = client.get(
[INFO] [stdout]     |                                       ^^^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:247:32
[INFO] [stdout]     |
[INFO] [stdout] 247 |   let my_value: Option<String> = client.get(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 248 | |     "my-bucket",
[INFO] [stdout] 249 | |     "foo",
[INFO] [stdout] 250 | | )?;
[INFO] [stdout]     | |__^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:250:2
[INFO] [stdout]     |
[INFO] [stdout] 250 | )?;
[INFO] [stdout]     |  ^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: momento_functions_host::encoding::Extract` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:247:39
[INFO] [stdout]     |
[INFO] [stdout] 247 | let my_value: Option<String> = client.get(
[INFO] [stdout]     |                                       ^^^ the trait `momento_functions_host::encoding::Extract` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::Extract`
[INFO] [stdout]    --> src/encoding.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Extract for Vec<u8> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `Vec<u8>`
[INFO] [stdout] ...
[INFO] [stdout]  90 | impl<T: serde::de::DeserializeOwned> Extract for Json<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Json<T>`
[INFO] [stdout] note: required by a bound in `S3Client::get`
[INFO] [stdout]    --> src/aws/s3.rs:282:19
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn get<T: Extract>(
[INFO] [stdout]     |                   ^^^^^^^ required by this bound in `S3Client::get`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:252:38
[INFO] [stdout]     |
[INFO] [stdout] 252 |   let another_value: Option<Vec<u8>> = client.get(
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 253 | |     "my-bucket",
[INFO] [stdout] 254 | |     "bar",
[INFO] [stdout] 255 | | )?;
[INFO] [stdout]     | |_^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:252:45
[INFO] [stdout]     |
[INFO] [stdout] 252 | let another_value: Option<Vec<u8>> = client.get(
[INFO] [stdout]     |                                             ^^^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:252:38
[INFO] [stdout]     |
[INFO] [stdout] 252 |   let another_value: Option<Vec<u8>> = client.get(
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 253 | |     "my-bucket",
[INFO] [stdout] 254 | |     "bar",
[INFO] [stdout] 255 | | )?;
[INFO] [stdout]     | |__^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:255:2
[INFO] [stdout]     |
[INFO] [stdout] 255 | )?;
[INFO] [stdout]     |  ^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Vec<u8> as Extract>::Error == &str`
[INFO] [stdout]    --> src/aws/s3.rs:252:45
[INFO] [stdout]     |
[INFO] [stdout] 252 | let another_value: Option<Vec<u8>> = client.get(
[INFO] [stdout]     |                                             ^^^ expected `&str`, found `Infallible`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: ExtractError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | Ok(())}
[INFO] [stdout]     | ^^ the trait `ExtractError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3GetError`
[INFO] [stdout]    --> src/aws/s3.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  82 | pub enum S3GetError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  83 | where
[INFO] [stdout]  84 |     E: ExtractError,
[INFO] [stdout]     |        ^^^^^^^^^^^^ required by this bound in `S3GetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/s3.rs - aws::s3::S3Client::put (line 131) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:136:39
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn f(client: &S3Client) -> Result<(), S3PutError<&str>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `S3PutError<&str>`
[INFO] [stdout]    --> src/aws/s3.rs:142:2
[INFO] [stdout]     |
[INFO] [stdout] 136 |   fn f(client: &S3Client) -> Result<(), S3PutError<&str>> {
[INFO] [stdout]     |                              ---------------------------- expected `S3PutError<&str>` because of this
[INFO] [stdout] 137 |   // With a payload
[INFO] [stdout] 138 |   client.put(
[INFO] [stdout]     |  ________-
[INFO] [stdout] 139 | |     "my-bucket",
[INFO] [stdout] 140 | |     "foo",
[INFO] [stdout] 141 | |     "bar",
[INFO] [stdout] 142 | | )?;
[INFO] [stdout]     | | -^ the trait `From<S3PutError<Infallible>>` is not implemented for `S3PutError<&str>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, S3PutError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_s3::S3Error>` is implemented for `S3PutError<E>`
[INFO] [stdout]    --> src/aws/s3.rs:77:13
[INFO] [stdout]     |
[INFO] [stdout]  77 |     S3Error(#[from] S3Error),
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:138:1
[INFO] [stdout]     |
[INFO] [stdout] 138 | / client.put(
[INFO] [stdout] 139 | |     "my-bucket",
[INFO] [stdout] 140 | |     "foo",
[INFO] [stdout] 141 | |     "bar",
[INFO] [stdout] 142 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&[u8; 3]: Encode` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | client.put(
[INFO] [stdout]     |        --- required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 148 |     b"bar",
[INFO] [stdout]     |     ^^^^^^ the trait `Encode` is not implemented for `&[u8; 3]`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Encode` is implemented for `&[u8]`
[INFO] [stdout]    --> src/encoding.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl Encode for &[u8] {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `S3Client::put`
[INFO] [stdout]    --> src/aws/s3.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn put<E: Encode>(
[INFO] [stdout]     |                   ^^^^^^ required by this bound in `S3Client::put`
[INFO] [stdout] help: convert the array to a `&[u8]` slice instead
[INFO] [stdout]     |
[INFO] [stdout] 148 |     &b"bar"[..],
[INFO] [stdout]     |     +      ++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / client.put(
[INFO] [stdout] 146 | |     "my-bucket",
[INFO] [stdout] 147 | |     "foo",
[INFO] [stdout] 148 | |     b"bar",
[INFO] [stdout] 149 | | )?;
[INFO] [stdout]     | |_^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | client.put(
[INFO] [stdout]     |        ^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / client.put(
[INFO] [stdout] 146 | |     "my-bucket",
[INFO] [stdout] 147 | |     "foo",
[INFO] [stdout] 148 | |     b"bar",
[INFO] [stdout] 149 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:149:2
[INFO] [stdout]     |
[INFO] [stdout] 149 | )?;
[INFO] [stdout]     |  ^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_latest_secret_value (line 206) stdout ----
[INFO] [stdout] error[E0599]: no method named `get_secret_latest_value` found for struct `SecretsManagerClient` in the current scope
[INFO] [stdout]    --> src/aws/secrets_manager.rs:215:30
[INFO] [stdout]     |
[INFO] [stdout] 215 | let secret: Vec<u8> = client.get_secret_latest_value(GetSecretValueRequest::new("my-secret"))?;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `get_secret_value` with a similar name, but with different arguments
[INFO] [stdout]    --> src/aws/secrets_manager.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | /     pub fn get_secret_value<T: crate::encoding::Extract>(
[INFO] [stdout] 190 | |         &self,
[INFO] [stdout] 191 | |         request: GetSecretValueRequest,
[INFO] [stdout] 192 | |         allowed_staleness: Duration,
[INFO] [stdout] 193 | |     ) -> Result<T, SecretsManagerGetSecretValueError<T::Error>> {
[INFO] [stdout]     | |_______________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 135) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/aws/secrets_manager.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     Duration::from_secs(0),
[INFO] [stdout]     |     ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 134 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 169) stdout ----
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/aws/secrets_manager.rs:184:14
[INFO] [stdout]     |
[INFO] [stdout] 184 | let client = SecretsManagerClient::new(&credentials, Duration::from_secs(300));
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^               ------------------------ unexpected argument #2 of type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/aws/secrets_manager.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  93 |     pub fn new(credentials: &auth::AwsCredentialsProvider) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 184 - let client = SecretsManagerClient::new(&credentials, Duration::from_secs(300));
[INFO] [stdout] 184 + let client = SecretsManagerClient::new(&credentials);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MyPersistedSecret: momento_functions_host::encoding::Extract` is not satisfied
[INFO] [stdout]    --> src/aws/secrets_manager.rs:186:40
[INFO] [stdout]     |
[INFO] [stdout] 186 | let secret: MyPersistedSecret = client.get_secret_value(GetSecretValueRequest::new("my-secret"), allowed_staleness)?;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `momento_functions_host::encoding::Extract` is not implemented for `MyPersistedSecret`
[INFO] [stdout]    --> src/aws/secrets_manager.rs:177:1
[INFO] [stdout]     |
[INFO] [stdout] 177 | struct MyPersistedSecret {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::Extract`
[INFO] [stdout]    --> src/encoding.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Extract for Vec<u8> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `Vec<u8>`
[INFO] [stdout] ...
[INFO] [stdout]  90 | impl<T: serde::de::DeserializeOwned> Extract for Json<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `momento_functions_host::encoding::Json<T>`
[INFO] [stdout] note: required by a bound in `SecretsManagerClient::get_secret_value`
[INFO] [stdout]    --> src/aws/secrets_manager.rs:189:32
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn get_secret_value<T: crate::encoding::Extract>(
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `SecretsManagerClient::get_secret_value`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::get (line 58) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn f() -> Result<(), CacheGetError<Json<MyStruct>>> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:70:37
[INFO] [stdout]    |
[INFO] [stdout] 70 | let value: Option<Json<MyStruct>> = cache::get("my_key")?;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:70:37
[INFO] [stdout]    |
[INFO] [stdout] 70 | let value: Option<Json<MyStruct>> = cache::get("my_key")?;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:70:57
[INFO] [stdout]    |
[INFO] [stdout] 70 | let value: Option<Json<MyStruct>> = cache::get("my_key")?;
[INFO] [stdout]    |                                                         ^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Json<MyStruct> as Extract>::Error == Json<MyStruct>`
[INFO] [stdout]   --> src/cache.rs:70:37
[INFO] [stdout]    |
[INFO] [stdout] 70 | let value: Option<Json<MyStruct>> = cache::get("my_key")?;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^ expected `Json<MyStruct>`, found `Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Json<MyStruct>`
[INFO] [stdout]               found struct `serde_json::error::Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `ExtractError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::get_with_hash (line 301) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:306:22
[INFO] [stdout]     |
[INFO] [stdout] 306 | fn f() -> Result<(), CacheGetWithHashError<Vec<u8>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetWithHashError`
[INFO] [stdout]    --> src/cache.rs:260:35
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub enum CacheGetWithHashError<E: ExtractError> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ required by this bound in `CacheGetWithHashError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:307:49
[INFO] [stdout]     |
[INFO] [stdout] 307 | let result: Option<GetWithHashValue<Vec<u8>>> = cache::get_with_hash("my_key")?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetWithHashError`
[INFO] [stdout]    --> src/cache.rs:260:35
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub enum CacheGetWithHashError<E: ExtractError> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ required by this bound in `CacheGetWithHashError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:307:49
[INFO] [stdout]     |
[INFO] [stdout] 307 | let result: Option<GetWithHashValue<Vec<u8>>> = cache::get_with_hash("my_key")?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetWithHashError`
[INFO] [stdout]    --> src/cache.rs:260:35
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub enum CacheGetWithHashError<E: ExtractError> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ required by this bound in `CacheGetWithHashError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:307:79
[INFO] [stdout]     |
[INFO] [stdout] 307 | let result: Option<GetWithHashValue<Vec<u8>>> = cache::get_with_hash("my_key")?;
[INFO] [stdout]     |                                                                               ^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetWithHashError`
[INFO] [stdout]    --> src/cache.rs:260:35
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub enum CacheGetWithHashError<E: ExtractError> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ required by this bound in `CacheGetWithHashError`
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Vec<u8> as Extract>::Error == Vec<u8>`
[INFO] [stdout]    --> src/cache.rs:307:49
[INFO] [stdout]     |
[INFO] [stdout] 307 | let result: Option<GetWithHashValue<Vec<u8>>> = cache::get_with_hash("my_key")?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Vec<u8>`, found `Infallible`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<u8>`
[INFO] [stdout]                  found enum `Infallible`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:311:1
[INFO] [stdout]     |
[INFO] [stdout] 311 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]    --> src/encoding.rs:69:1
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl ExtractError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  70 |
[INFO] [stdout]  71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetWithHashError`
[INFO] [stdout]    --> src/cache.rs:260:35
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub enum CacheGetWithHashError<E: ExtractError> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ required by this bound in `CacheGetWithHashError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/s3.rs - aws::s3::S3Client::put (line 153) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:163:39
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn f(client: &S3Client) -> Result<(), S3PutError<Json<MyStruct>>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `S3PutError<Json<MyStruct>>`
[INFO] [stdout]    --> src/aws/s3.rs:170:2
[INFO] [stdout]     |
[INFO] [stdout] 163 |   fn f(client: &S3Client) -> Result<(), S3PutError<Json<MyStruct>>> {
[INFO] [stdout]     |                              -------------------------------------- expected `S3PutError<Json<MyStruct>>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 166 |   client.put(
[INFO] [stdout]     |  ________-
[INFO] [stdout] 167 | |     "my-bucket",
[INFO] [stdout] 168 | |     "my-key",
[INFO] [stdout] 169 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 170 | | )?;
[INFO] [stdout]     | | -^ the trait `From<S3PutError<serde_json::error::Error>>` is not implemented for `S3PutError<Json<MyStruct>>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, S3PutError<serde_json::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::aws_s3::S3Error>` is implemented for `S3PutError<E>`
[INFO] [stdout]    --> src/aws/s3.rs:77:13
[INFO] [stdout]     |
[INFO] [stdout]  77 |     S3Error(#[from] S3Error),
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | / client.put(
[INFO] [stdout] 167 | |     "my-bucket",
[INFO] [stdout] 168 | |     "my-key",
[INFO] [stdout] 169 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 170 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/aws/s3.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `S3PutError`
[INFO] [stdout]    --> src/aws/s3.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub enum S3PutError<E>
[INFO] [stdout]     |          ---------- required by a bound in this enum
[INFO] [stdout]  66 | where
[INFO] [stdout]  67 |     E: EncodeError,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `S3PutError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::list_push_back (line 494) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `CollectionTtl` in this scope
[INFO] [stdout]    --> src/cache.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     CollectionTtl::of(Duration::from_secs(60)),
[INFO] [stdout]     |     ^^^^^^^^^^^^^ use of undeclared type `CollectionTtl`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 493 + use momento_functions_host::cache::CollectionTtl;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:500:11
[INFO] [stdout]     |
[INFO] [stdout] 500 | fn f() -> Result<(), CacheListPushBackError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheListPushBackError`
[INFO] [stdout]    --> src/cache.rs:457:36
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub enum CacheListPushBackError<E: EncodeError> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ required by this bound in `CacheListPushBackError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheListPushBackError<&str>`
[INFO] [stdout]    --> src/cache.rs:507:2
[INFO] [stdout]     |
[INFO] [stdout] 500 |   fn f() -> Result<(), CacheListPushBackError<&'static str>> {
[INFO] [stdout]     |             ------------------------------------------------ expected `CacheListPushBackError<&str>` because of this
[INFO] [stdout] 501 |
[INFO] [stdout] 502 |   let list_length = cache::list_push_back(
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 503 | |     "my_list",
[INFO] [stdout] 504 | |     b"new_value".to_vec(),
[INFO] [stdout] 505 | |     CollectionTtl::of(Duration::from_secs(60)),
[INFO] [stdout] 506 | |     None,
[INFO] [stdout] 507 | | )?;
[INFO] [stdout]     | | -^ the trait `From<CacheListPushBackError<Infallible>>` is not implemented for `CacheListPushBackError<&str>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, CacheListPushBackError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::cache_list::Error>` is implemented for `CacheListPushBackError<E>`
[INFO] [stdout]    --> src/cache.rs:466:16
[INFO] [stdout]     |
[INFO] [stdout] 466 |     CacheError(#[from] cache_list::Error),
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:502:19
[INFO] [stdout]     |
[INFO] [stdout] 502 |   let list_length = cache::list_push_back(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 503 | |     "my_list",
[INFO] [stdout] 504 | |     b"new_value".to_vec(),
[INFO] [stdout] 505 | |     CollectionTtl::of(Duration::from_secs(60)),
[INFO] [stdout] 506 | |     None,
[INFO] [stdout] 507 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheListPushBackError`
[INFO] [stdout]    --> src/cache.rs:457:36
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub enum CacheListPushBackError<E: EncodeError> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ required by this bound in `CacheListPushBackError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheListPushBackError`
[INFO] [stdout]    --> src/cache.rs:457:36
[INFO] [stdout]     |
[INFO] [stdout] 457 | pub enum CacheListPushBackError<E: EncodeError> {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ required by this bound in `CacheListPushBackError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 153) stdout ----
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/aws/secrets_manager.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | let client = SecretsManagerClient::new(&credentials, Duration::from_secs(300));
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^               ------------------------ unexpected argument #2 of type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/aws/secrets_manager.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  93 |     pub fn new(credentials: &auth::AwsCredentialsProvider) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 162 - let client = SecretsManagerClient::new(&credentials, Duration::from_secs(300));
[INFO] [stdout] 162 + let client = SecretsManagerClient::new(&credentials);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::list_push_front (line 541) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:547:11
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn f() -> Result<(), CacheListPushFrontError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheListPushFrontError`
[INFO] [stdout]    --> src/cache.rs:471:37
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub enum CacheListPushFrontError<E: EncodeError> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^ required by this bound in `CacheListPushFrontError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheListPushFrontError<&str>`
[INFO] [stdout]    --> src/cache.rs:554:2
[INFO] [stdout]     |
[INFO] [stdout] 547 |   fn f() -> Result<(), CacheListPushFrontError<&'static str>> {
[INFO] [stdout]     |             ------------------------------------------------- expected `CacheListPushFrontError<&str>` because of this
[INFO] [stdout] 548 |
[INFO] [stdout] 549 |   let list_length = cache::list_push_front(
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 550 | |     "my_list",
[INFO] [stdout] 551 | |     b"new_value".to_vec(),
[INFO] [stdout] 552 | |     CollectionTtl::of(Duration::from_secs(60)),
[INFO] [stdout] 553 | |     None,
[INFO] [stdout] 554 | | )?;
[INFO] [stdout]     | | -^ the trait `From<CacheListPushFrontError<Infallible>>` is not implemented for `CacheListPushFrontError<&str>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, CacheListPushFrontError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::cache_list::Error>` is implemented for `CacheListPushFrontError<E>`
[INFO] [stdout]    --> src/cache.rs:480:16
[INFO] [stdout]     |
[INFO] [stdout] 480 |     CacheError(#[from] cache_list::Error),
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:549:19
[INFO] [stdout]     |
[INFO] [stdout] 549 |   let list_length = cache::list_push_front(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 550 | |     "my_list",
[INFO] [stdout] 551 | |     b"new_value".to_vec(),
[INFO] [stdout] 552 | |     CollectionTtl::of(Duration::from_secs(60)),
[INFO] [stdout] 553 | |     None,
[INFO] [stdout] 554 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheListPushFrontError`
[INFO] [stdout]    --> src/cache.rs:471:37
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub enum CacheListPushFrontError<E: EncodeError> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^ required by this bound in `CacheListPushFrontError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:557:1
[INFO] [stdout]     |
[INFO] [stdout] 557 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheListPushFrontError`
[INFO] [stdout]    --> src/cache.rs:471:37
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub enum CacheListPushFrontError<E: EncodeError> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^ required by this bound in `CacheListPushFrontError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::set_if (line 191) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:197:11
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn f() -> Result<(), CacheSetIfError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfError`
[INFO] [stdout]    --> src/cache.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum CacheSetIfError<E: EncodeError> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ required by this bound in `CacheSetIfError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheSetIfError<&str>`
[INFO] [stdout]    --> src/cache.rs:203:2
[INFO] [stdout]     |
[INFO] [stdout] 197 |   fn f() -> Result<(), CacheSetIfError<&'static str>> {
[INFO] [stdout]     |             ----------------------------------------- expected `CacheSetIfError<&str>` because of this
[INFO] [stdout] 198 |   let result = cache::set_if(
[INFO] [stdout]     |  ______________-
[INFO] [stdout] 199 | |     "my_key",
[INFO] [stdout] 200 | |     b"updated".to_vec(),
[INFO] [stdout] 201 | |     Duration::from_secs(60),
[INFO] [stdout] 202 | |     SetIfCondition::Present,
[INFO] [stdout] 203 | | )?;
[INFO] [stdout]     | | -^ the trait `From<CacheSetIfError<Infallible>>` is not implemented for `CacheSetIfError<&str>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, CacheSetIfError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::cache_scalar::Error>` is implemented for `CacheSetIfError<E>`
[INFO] [stdout]    --> src/cache.rs:151:16
[INFO] [stdout]     |
[INFO] [stdout] 151 |     CacheError(#[from] cache_scalar::Error),
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:198:14
[INFO] [stdout]     |
[INFO] [stdout] 198 |   let result = cache::set_if(
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 199 | |     "my_key",
[INFO] [stdout] 200 | |     b"updated".to_vec(),
[INFO] [stdout] 201 | |     Duration::from_secs(60),
[INFO] [stdout] 202 | |     SetIfCondition::Present,
[INFO] [stdout] 203 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfError`
[INFO] [stdout]    --> src/cache.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum CacheSetIfError<E: EncodeError> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ required by this bound in `CacheSetIfError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfError`
[INFO] [stdout]    --> src/cache.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum CacheSetIfError<E: EncodeError> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ required by this bound in `CacheSetIfError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::set (line 101) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:113:22
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn f() -> Result<(), CacheSetError<Json<MyStruct>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]    --> src/cache.rs:18:27
[INFO] [stdout]     |
[INFO] [stdout]  18 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheSetError<Json<MyStruct>>`
[INFO] [stdout]    --> src/cache.rs:118:2
[INFO] [stdout]     |
[INFO] [stdout] 113 |   fn f() -> Result<(), CacheSetError<Json<MyStruct>>> {
[INFO] [stdout]     |             ----------------------------------------- expected `CacheSetError<Json<MyStruct>>` because of this
[INFO] [stdout] 114 | / cache::set(
[INFO] [stdout] 115 | |     "my_key",
[INFO] [stdout] 116 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 117 | |     Duration::from_secs(60),
[INFO] [stdout] 118 | | )?;
[INFO] [stdout]     | | -^ the trait `From<CacheSetError<serde_json::error::Error>>` is not implemented for `CacheSetError<Json<MyStruct>>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, CacheSetError<serde_json::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::cache_scalar::Error>` is implemented for `CacheSetError<E>`
[INFO] [stdout]    --> src/cache.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout]  27 |     CacheError(#[from] cache_scalar::Error),
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / cache::set(
[INFO] [stdout] 115 | |     "my_key",
[INFO] [stdout] 116 | |     Json(MyStruct { hello: "hello".to_string() }),
[INFO] [stdout] 117 | |     Duration::from_secs(60),
[INFO] [stdout] 118 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]    --> src/cache.rs:18:27
[INFO] [stdout]     |
[INFO] [stdout]  18 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]    --> src/cache.rs:18:27
[INFO] [stdout]     |
[INFO] [stdout]  18 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::set_if (line 167) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:173:11
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn f() -> Result<(), CacheSetIfError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfError`
[INFO] [stdout]    --> src/cache.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum CacheSetIfError<E: EncodeError> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ required by this bound in `CacheSetIfError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheSetIfError<&str>`
[INFO] [stdout]    --> src/cache.rs:179:2
[INFO] [stdout]     |
[INFO] [stdout] 173 |   fn f() -> Result<(), CacheSetIfError<&'static str>> {
[INFO] [stdout]     |             ----------------------------------------- expected `CacheSetIfError<&str>` because of this
[INFO] [stdout] 174 |   let result: SetIfResult = cache::set_if(
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 175 | |     "my_key",
[INFO] [stdout] 176 | |     b"hello".to_vec(),
[INFO] [stdout] 177 | |     Duration::from_secs(60),
[INFO] [stdout] 178 | |     SetIfCondition::Absent,
[INFO] [stdout] 179 | | )?;
[INFO] [stdout]     | | -^ the trait `From<CacheSetIfError<Infallible>>` is not implemented for `CacheSetIfError<&str>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, CacheSetIfError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::cache_scalar::Error>` is implemented for `CacheSetIfError<E>`
[INFO] [stdout]    --> src/cache.rs:151:16
[INFO] [stdout]     |
[INFO] [stdout] 151 |     CacheError(#[from] cache_scalar::Error),
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:174:27
[INFO] [stdout]     |
[INFO] [stdout] 174 |   let result: SetIfResult = cache::set_if(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 175 | |     "my_key",
[INFO] [stdout] 176 | |     b"hello".to_vec(),
[INFO] [stdout] 177 | |     Duration::from_secs(60),
[INFO] [stdout] 178 | |     SetIfCondition::Absent,
[INFO] [stdout] 179 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfError`
[INFO] [stdout]    --> src/cache.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum CacheSetIfError<E: EncodeError> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ required by this bound in `CacheSetIfError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfError`
[INFO] [stdout]    --> src/cache.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum CacheSetIfError<E: EncodeError> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ required by this bound in `CacheSetIfError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::get (line 48) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:53:22
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn f() -> Result<(), CacheGetError<Vec<u8>>> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 | let value: Option<Vec<u8>> = cache::get("my_key")?;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 | let value: Option<Vec<u8>> = cache::get("my_key")?;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:54:50
[INFO] [stdout]    |
[INFO] [stdout] 54 | let value: Option<Vec<u8>> = cache::get("my_key")?;
[INFO] [stdout]    |                                                  ^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Vec<u8> as Extract>::Error == Vec<u8>`
[INFO] [stdout]   --> src/cache.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 | let value: Option<Vec<u8>> = cache::get("my_key")?;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^ expected `Vec<u8>`, found `Infallible`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<u8>`
[INFO] [stdout]                 found enum `Infallible`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vec<u8>: ExtractError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `ExtractError` is not implemented for `Vec<u8>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `ExtractError`
[INFO] [stdout]   --> src/encoding.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ExtractError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout] 70 |
[INFO] [stdout] 71 | impl ExtractError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheGetError`
[INFO] [stdout]   --> src/cache.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum CacheGetError<E: ExtractError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ required by this bound in `CacheGetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::set_if_hash (line 337) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:343:11
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn f() -> Result<(), CacheSetIfHashError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfHashError`
[INFO] [stdout]    --> src/cache.rs:274:33
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub enum CacheSetIfHashError<E: EncodeError> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^ required by this bound in `CacheSetIfHashError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheSetIfHashError<&str>`
[INFO] [stdout]    --> src/cache.rs:353:2
[INFO] [stdout]     |
[INFO] [stdout] 343 |   fn f() -> Result<(), CacheSetIfHashError<&'static str>> {
[INFO] [stdout]     |             --------------------------------------------- expected `CacheSetIfHashError<&str>` because of this
[INFO] [stdout] ...
[INFO] [stdout] 348 |   let result = cache::set_if_hash(
[INFO] [stdout]     |  ______________-
[INFO] [stdout] 349 | |     "my_key",
[INFO] [stdout] 350 | |     b"new_value".to_vec(),
[INFO] [stdout] 351 | |     Duration::from_secs(60),
[INFO] [stdout] 352 | |     SetIfHashCondition::PresentAndHashEqual(previous_hash),
[INFO] [stdout] 353 | | )?;
[INFO] [stdout]     | | -^ the trait `From<CacheSetIfHashError<Infallible>>` is not implemented for `CacheSetIfHashError<&str>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, CacheSetIfHashError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::cache_scalar::Error>` is implemented for `CacheSetIfHashError<E>`
[INFO] [stdout]    --> src/cache.rs:283:16
[INFO] [stdout]     |
[INFO] [stdout] 283 |     CacheError(#[from] cache_scalar::Error),
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:348:14
[INFO] [stdout]     |
[INFO] [stdout] 348 |   let result = cache::set_if_hash(
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 349 | |     "my_key",
[INFO] [stdout] 350 | |     b"new_value".to_vec(),
[INFO] [stdout] 351 | |     Duration::from_secs(60),
[INFO] [stdout] 352 | |     SetIfHashCondition::PresentAndHashEqual(previous_hash),
[INFO] [stdout] 353 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfHashError`
[INFO] [stdout]    --> src/cache.rs:274:33
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub enum CacheSetIfHashError<E: EncodeError> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^ required by this bound in `CacheSetIfHashError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfHashError`
[INFO] [stdout]    --> src/cache.rs:274:33
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub enum CacheSetIfHashError<E: EncodeError> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^ required by this bound in `CacheSetIfHashError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::set (line 86) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn f() -> Result<(), CacheSetError<&'static str>> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]   --> src/cache.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheSetError<&str>`
[INFO] [stdout]   --> src/cache.rs:97:2
[INFO] [stdout]    |
[INFO] [stdout] 92 |   fn f() -> Result<(), CacheSetError<&'static str>> {
[INFO] [stdout]    |             --------------------------------------- expected `CacheSetError<&str>` because of this
[INFO] [stdout] 93 | / cache::set(
[INFO] [stdout] 94 | |     "my_key",
[INFO] [stdout] 95 | |     b"hello".to_vec(),
[INFO] [stdout] 96 | |     Duration::from_secs(60),
[INFO] [stdout] 97 | | )?;
[INFO] [stdout]    | | -^ the trait `From<CacheSetError<Infallible>>` is not implemented for `CacheSetError<&str>`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, CacheSetError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::cache_scalar::Error>` is implemented for `CacheSetError<E>`
[INFO] [stdout]   --> src/cache.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |     CacheError(#[from] cache_scalar::Error),
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | / cache::set(
[INFO] [stdout] 94 | |     "my_key",
[INFO] [stdout] 95 | |     b"hello".to_vec(),
[INFO] [stdout] 96 | |     Duration::from_secs(60),
[INFO] [stdout] 97 | | )?;
[INFO] [stdout]    | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]   --> src/cache.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/cache.rs:98:1
[INFO] [stdout]    |
[INFO] [stdout] 98 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetError`
[INFO] [stdout]   --> src/cache.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum CacheSetError<E: EncodeError> {
[INFO] [stdout]    |                           ^^^^^^^^^^^ required by this bound in `CacheSetError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/cache.rs - cache::set_if (line 207) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:213:11
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn f() -> Result<(), CacheSetIfError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfError`
[INFO] [stdout]    --> src/cache.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum CacheSetIfError<E: EncodeError> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ required by this bound in `CacheSetIfError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `CacheSetIfError<&str>`
[INFO] [stdout]    --> src/cache.rs:219:2
[INFO] [stdout]     |
[INFO] [stdout] 213 |   fn f() -> Result<(), CacheSetIfError<&'static str>> {
[INFO] [stdout]     |             ----------------------------------------- expected `CacheSetIfError<&str>` because of this
[INFO] [stdout] 214 |   let result = cache::set_if(
[INFO] [stdout]     |  ______________-
[INFO] [stdout] 215 | |     "my_key",
[INFO] [stdout] 216 | |     b"new_value".to_vec(),
[INFO] [stdout] 217 | |     Duration::from_secs(60),
[INFO] [stdout] 218 | |     SetIfCondition::Equal(b"old_value".to_vec()),
[INFO] [stdout] 219 | | )?;
[INFO] [stdout]     | | -^ the trait `From<CacheSetIfError<Infallible>>` is not implemented for `CacheSetIfError<&str>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, CacheSetIfError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::cache_scalar::Error>` is implemented for `CacheSetIfError<E>`
[INFO] [stdout]    --> src/cache.rs:151:16
[INFO] [stdout]     |
[INFO] [stdout] 151 |     CacheError(#[from] cache_scalar::Error),
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:214:14
[INFO] [stdout]     |
[INFO] [stdout] 214 |   let result = cache::set_if(
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 215 | |     "my_key",
[INFO] [stdout] 216 | |     b"new_value".to_vec(),
[INFO] [stdout] 217 | |     Duration::from_secs(60),
[INFO] [stdout] 218 | |     SetIfCondition::Equal(b"old_value".to_vec()),
[INFO] [stdout] 219 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfError`
[INFO] [stdout]    --> src/cache.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum CacheSetIfError<E: EncodeError> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ required by this bound in `CacheSetIfError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/cache.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `CacheSetIfError`
[INFO] [stdout]    --> src/cache.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub enum CacheSetIfError<E: EncodeError> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ required by this bound in `CacheSetIfError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::post (line 180) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:185:11
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn f() -> Result<(), HttpPostError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:199:22
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn g() -> Result<(), HttpPostError<Json<Request>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPostError<&str>`
[INFO] [stdout]    --> src/http.rs:186:59
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn f() -> Result<(), HttpPostError<&'static str>> {
[INFO] [stdout]     |           --------------------------------------- expected `HttpPostError<&str>` because of this
[INFO] [stdout] 186 | http::post("https://gomomento.com", [], b"hello".as_ref())?;
[INFO] [stdout]     | ----------------------------------------------------------^ the trait `From<HttpPostError<Infallible>>` is not implemented for `HttpPostError<&str>`
[INFO] [stdout]     | |
[INFO] [stdout]     | this can't be annotated with `?` because it has type `Result<_, HttpPostError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPostError<E>`
[INFO] [stdout]    --> src/http.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 169 |     HttpError(#[from] http::Error),
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | http::post("https://gomomento.com", [], b"hello".as_ref())?;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPostError<Json<_doctest_main_src_http_rs_180_0::Request>>`
[INFO] [stdout]    --> src/http.rs:207:2
[INFO] [stdout]     |
[INFO] [stdout] 199 |   fn g() -> Result<(), HttpPostError<Json<Request>>> {
[INFO] [stdout]     |             ---------------------------------------- expected `HttpPostError<Json<_doctest_main_src_http_rs_180_0::Request>>` because of this
[INFO] [stdout] 200 |
[INFO] [stdout] 201 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]     |  ________________________________-
[INFO] [stdout] 202 | |     "https://gomomento.com",
[INFO] [stdout] 203 | |     [
[INFO] [stdout] 204 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] 205 | |     ],
[INFO] [stdout] 206 | |     Json(Request { message: "hello".to_string() })
[INFO] [stdout] 207 | | )?
[INFO] [stdout]     | | -^ unsatisfied trait bound
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, HttpPostError<serde_json::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `From<HttpPostError<serde_json::error::Error>>` is not implemented for `HttpPostError<Json<_doctest_main_src_http_rs_180_0::Request>>`
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPostError<E>`
[INFO] [stdout]    --> src/http.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 169 |     HttpError(#[from] http::Error),
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout] 201 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 202 | |     "https://gomomento.com",
[INFO] [stdout] 203 | |     [
[INFO] [stdout] 204 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] 205 | |     ],
[INFO] [stdout] 206 | |     Json(Request { message: "hello".to_string() })
[INFO] [stdout] 207 | | )?
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout] 201 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 202 | |     "https://gomomento.com",
[INFO] [stdout] 203 | |     [
[INFO] [stdout] 204 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout] 207 | | )?
[INFO] [stdout] 208 | | .extract()?;
[INFO] [stdout]     | |__________^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:208:2
[INFO] [stdout]     |
[INFO] [stdout] 208 | .extract()?;
[INFO] [stdout]     |  ^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout] 201 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 202 | |     "https://gomomento.com",
[INFO] [stdout] 203 | |     [
[INFO] [stdout] 204 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout] 207 | | )?
[INFO] [stdout] 208 | | .extract()?;
[INFO] [stdout]     | |___________^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:208:11
[INFO] [stdout]     |
[INFO] [stdout] 208 | .extract()?;
[INFO] [stdout]     |           ^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Json<Reply> as Extract>::Error == HttpPostError<Json<Request>>`
[INFO] [stdout]    --> src/http.rs:208:2
[INFO] [stdout]     |
[INFO] [stdout] 208 | .extract()?;
[INFO] [stdout]     |  ^^^^^^^ expected `HttpPostError<Json<Request>>`, found `Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `HttpPostError<Json<_doctest_main_src_http_rs_180_0::Request>>`
[INFO] [stdout]              found struct `serde_json::error::Error`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<_doctest_main_src_http_rs_180_0::Request>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:209:1
[INFO] [stdout]     |
[INFO] [stdout] 209 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<_doctest_main_src_http_rs_180_0::Request>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::put (line 116) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn f() -> Result<(), HttpPutError<&'static str>> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:130:22
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn g() -> Result<(), HttpPutError<Json<MyStruct>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPutError<&str>`
[INFO] [stdout]    --> src/http.rs:121:58
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn f() -> Result<(), HttpPutError<&'static str>> {
[INFO] [stdout]     |           -------------------------------------- expected `HttpPutError<&str>` because of this
[INFO] [stdout] 121 | http::put("https://gomomento.com", [], b"hello".as_ref())?;
[INFO] [stdout]     | ---------------------------------------------------------^ the trait `From<HttpPutError<Infallible>>` is not implemented for `HttpPutError<&str>`
[INFO] [stdout]     | |
[INFO] [stdout]     | this can't be annotated with `?` because it has type `Result<_, HttpPutError<Infallible>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPutError<E>`
[INFO] [stdout]    --> src/http.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |     HttpError(#[from] http::Error),
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | http::put("https://gomomento.com", [], b"hello".as_ref())?;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPutError<Json<MyStruct>>`
[INFO] [stdout]    --> src/http.rs:137:2
[INFO] [stdout]     |
[INFO] [stdout] 130 |   fn g() -> Result<(), HttpPutError<Json<MyStruct>>> {
[INFO] [stdout]     |             ---------------------------------------- expected `HttpPutError<Json<MyStruct>>` because of this
[INFO] [stdout] 131 | / http::put(
[INFO] [stdout] 132 | |     "https://gomomento.com",
[INFO] [stdout] 133 | |     [
[INFO] [stdout] 134 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] 135 | |     ],
[INFO] [stdout] 136 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout] 137 | | )?;
[INFO] [stdout]     | | -^ the trait `From<HttpPutError<serde_json::error::Error>>` is not implemented for `HttpPutError<Json<MyStruct>>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, HttpPutError<serde_json::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPutError<E>`
[INFO] [stdout]    --> src/http.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |     HttpError(#[from] http::Error),
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | / http::put(
[INFO] [stdout] 132 | |     "https://gomomento.com",
[INFO] [stdout] 133 | |     [
[INFO] [stdout] 134 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] 135 | |     ],
[INFO] [stdout] 136 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout] 137 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:138:1
[INFO] [stdout]     |
[INFO] [stdout] 138 | Ok(())}
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::post_aws_sigv4 (line 410) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:420:22
[INFO] [stdout]     |
[INFO] [stdout] 420 | fn f() -> Result<(), http::HttpPostError<Json<MyStruct>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPostError<Json<MyStruct>>`
[INFO] [stdout]    --> src/http.rs:431:2
[INFO] [stdout]     |
[INFO] [stdout] 420 |   fn f() -> Result<(), http::HttpPostError<Json<MyStruct>>> {
[INFO] [stdout]     |             ----------------------------------------------- expected `HttpPostError<Json<MyStruct>>` because of this
[INFO] [stdout] 421 |
[INFO] [stdout] 422 | / http::post_aws_sigv4(
[INFO] [stdout] 423 | |     "https://gomomento.com",
[INFO] [stdout] 424 | |     [
[INFO] [stdout] 425 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout] 430 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout] 431 | | )?;
[INFO] [stdout]     | | -^ the trait `From<HttpPostError<serde_json::error::Error>>` is not implemented for `HttpPostError<Json<MyStruct>>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, HttpPostError<serde_json::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPostError<E>`
[INFO] [stdout]    --> src/http.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 169 |     HttpError(#[from] http::Error),
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:422:1
[INFO] [stdout]     |
[INFO] [stdout] 422 | / http::post_aws_sigv4(
[INFO] [stdout] 423 | |     "https://gomomento.com",
[INFO] [stdout] 424 | |     [
[INFO] [stdout] 425 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout] 430 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout] 431 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:432:1
[INFO] [stdout]     |
[INFO] [stdout] 432 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPostError`
[INFO] [stdout]    --> src/http.rs:166:27
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HttpPostError<E: EncodeError> {
[INFO] [stdout]     |                           ^^^^^^^^^^^ required by this bound in `HttpPostError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/redis.rs - redis::RedisClient::pipe (line 324) stdout ----
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `momento_functions_wit::host::momento::host::redis::RedisError`
[INFO] [stdout]    --> src/redis.rs:330:49
[INFO] [stdout]     |
[INFO] [stdout] 328 | fn f(client: &RedisClient) -> Result<(), host::redis::RedisError> {
[INFO] [stdout]     |                               ----------------------------------- expected `momento_functions_wit::host::momento::host::redis::RedisError` because of this
[INFO] [stdout] 329 | let response_stream = client.pipe(vec![
[INFO] [stdout] 330 |     Command::builder().set("my_key", "my_value")?.build(),
[INFO] [stdout]     |                        -------------------------^ the trait `From<Infallible>` is not implemented for `momento_functions_wit::host::momento::host::redis::RedisError`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this can't be annotated with `?` because it has type `Result<_, Infallible>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::Response::extract (line 27) stdout ----
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `serde_json::Error`
[INFO] [stdout]   --> src/http.rs:48:2
[INFO] [stdout]    |
[INFO] [stdout] 32 |   fn f() -> Result<(), serde_json::error::Error> {
[INFO] [stdout]    |             ------------------------------------ expected `serde_json::Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 42 |   let Json(reply): Json<Reply> = http::post(
[INFO] [stdout]    |  ________________________________-
[INFO] [stdout] 43 | |     "https://gomomento.com",
[INFO] [stdout] 44 | |     [
[INFO] [stdout] 45 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] 46 | |     ],
[INFO] [stdout] 47 | |     Json(Request { message: "hello".to_string() })
[INFO] [stdout] 48 | | )?
[INFO] [stdout]    | | -^ the trait `From<HttpPostError<serde_json::Error>>` is not implemented for `serde_json::Error`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   this can't be annotated with `?` because it has type `Result<_, HttpPostError<serde_json::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/http.rs - http::put_aws_sigv4 (line 357) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:367:22
[INFO] [stdout]     |
[INFO] [stdout] 367 | fn f() -> Result<(), http::HttpPutError<Json<MyStruct>>> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `HttpPutError<Json<MyStruct>>`
[INFO] [stdout]    --> src/http.rs:378:2
[INFO] [stdout]     |
[INFO] [stdout] 367 |   fn f() -> Result<(), http::HttpPutError<Json<MyStruct>>> {
[INFO] [stdout]     |             ---------------------------------------------- expected `HttpPutError<Json<MyStruct>>` because of this
[INFO] [stdout] 368 |
[INFO] [stdout] 369 | / http::put_aws_sigv4(
[INFO] [stdout] 370 | |     "https://gomomento.com",
[INFO] [stdout] 371 | |     [
[INFO] [stdout] 372 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout] 377 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout] 378 | | )?;
[INFO] [stdout]     | | -^ the trait `From<HttpPutError<serde_json::error::Error>>` is not implemented for `HttpPutError<Json<MyStruct>>`
[INFO] [stdout]     | |_|
[INFO] [stdout]     |   this can't be annotated with `?` because it has type `Result<_, HttpPutError<serde_json::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::host::http::Error>` is implemented for `HttpPutError<E>`
[INFO] [stdout]    --> src/http.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |     HttpError(#[from] http::Error),
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:369:1
[INFO] [stdout]     |
[INFO] [stdout] 369 | / http::put_aws_sigv4(
[INFO] [stdout] 370 | |     "https://gomomento.com",
[INFO] [stdout] 371 | |     [
[INFO] [stdout] 372 | |         ("authorization".to_string(), "abc123".to_string()),
[INFO] [stdout] ...   |
[INFO] [stdout] 377 | |     Json(MyStruct { message: "hello".to_string() })
[INFO] [stdout] 378 | | )?;
[INFO] [stdout]     | |__^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]    --> src/http.rs:379:1
[INFO] [stdout]     |
[INFO] [stdout] 379 | Ok(()) }
[INFO] [stdout]     | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]    --> src/encoding.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl EncodeError for Infallible {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]   9 |
[INFO] [stdout]  10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `HttpPutError`
[INFO] [stdout]    --> src/http.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum HttpPutError<E: EncodeError> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ required by this bound in `HttpPutError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::CachePermissions::write_only (line 294) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `CachePermissions` in this scope
[INFO] [stdout]    --> src/token.rs:295:13
[INFO] [stdout]     |
[INFO] [stdout] 295 | let perms = CachePermissions::write_only()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ use of undeclared type `CachePermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 294 + use momento_functions_host::token::CachePermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::CachePermissions::read_write (line 254) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `CachePermissions` in this scope
[INFO] [stdout]    --> src/token.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 | let perms = CachePermissions::read_write()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ use of undeclared type `CachePermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 254 + use momento_functions_host::token::CachePermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::Permissions::new (line 117) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `Permissions` in this scope
[INFO] [stdout]    --> src/token.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 | let perms = Permissions::new()
[INFO] [stdout]     |             ^^^^^^^^^^^ use of undeclared type `Permissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 117 + use std::fs::Permissions;
[INFO] [stdout]     |
[INFO] [stdout] 117 + use momento_functions_host::token::Permissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CachePermissions` in this scope
[INFO] [stdout]    --> src/token.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |     .with_cache(CachePermissions::read_write())
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ use of undeclared type `CachePermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 117 + use momento_functions_host::token::CachePermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `TopicPermissions` in this scope
[INFO] [stdout]    --> src/token.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |     .with_topic(TopicPermissions::read_only());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ use of undeclared type `TopicPermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 117 + use momento_functions_host::token::TopicPermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::CachePermissions::read_only (line 274) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `CachePermissions` in this scope
[INFO] [stdout]    --> src/token.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 | let perms = CachePermissions::read_only()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ use of undeclared type `CachePermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 274 + use momento_functions_host::token::CachePermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::CachePermissions::new (line 232) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `CachePermissions` in this scope
[INFO] [stdout]    --> src/token.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 | let perms = CachePermissions::new()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ use of undeclared type `CachePermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 232 + use momento_functions_host::token::CachePermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `CacheRole` in this scope
[INFO] [stdout]    --> src/token.rs:234:16
[INFO] [stdout]     |
[INFO] [stdout] 234 |     .with_role(CacheRole::CacheReadWrite)
[INFO] [stdout]     |                ^^^^^^^^^ use of undeclared type `CacheRole`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 232 + use momento_functions_host::token::CacheRole;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::FunctionPermissions::new (line 554) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `FunctionPermissions` in this scope
[INFO] [stdout]    --> src/token.rs:555:13
[INFO] [stdout]     |
[INFO] [stdout] 555 | let perms = FunctionPermissions::new()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ use of undeclared type `FunctionPermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 554 + use momento_functions_host::token::FunctionPermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `FunctionRole` in this scope
[INFO] [stdout]    --> src/token.rs:556:16
[INFO] [stdout]     |
[INFO] [stdout] 556 |     .with_role(FunctionRole::FunctionInvoke)
[INFO] [stdout]     |                ^^^^^^^^^^^^ use of undeclared type `FunctionRole`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 554 + use momento_functions_host::token::FunctionRole;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/spawn.rs - spawn::spawn (line 21) stdout ----
[INFO] [stdout] error[E0603]: module `spawn` is private
[INFO] [stdout]   --> src/spawn.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 | use momento_functions_host::spawn::{self, FunctionSpawnError};
[INFO] [stdout]    |                             ^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `spawn` is defined here
[INFO] [stdout]   --> src/lib.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | mod spawn;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `spawn` is private
[INFO] [stdout]   --> src/spawn.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 | use momento_functions_host::spawn::{self, FunctionSpawnError};
[INFO] [stdout]    |                             ^^^^^         ------------------ enum `FunctionSpawnError` is not publicly re-exported
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `spawn` is defined here
[INFO] [stdout]   --> src/lib.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | mod spawn;
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0603`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::FunctionPermissions::invoke (line 576) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `FunctionPermissions` in this scope
[INFO] [stdout]    --> src/token.rs:577:13
[INFO] [stdout]     |
[INFO] [stdout] 577 | let perms = FunctionPermissions::invoke()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ use of undeclared type `FunctionPermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 576 + use momento_functions_host::token::FunctionPermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/topics.rs - topics::publish (line 27) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn f() -> Result<(), PublishError<&'static str>> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `momento_functions_host::topics::PublishError<&str>`
[INFO] [stdout]   --> src/topics.rs:34:43
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn f() -> Result<(), PublishError<&'static str>> {
[INFO] [stdout]    |           -------------------------------------- expected `momento_functions_host::topics::PublishError<&str>` because of this
[INFO] [stdout] 34 | topics::publish("my_topic", "hello there")?;
[INFO] [stdout]    | ------------------------------------------^ unsatisfied trait bound
[INFO] [stdout]    | |
[INFO] [stdout]    | this can't be annotated with `?` because it has type `Result<_, momento_functions_host::topics::PublishError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `From<momento_functions_host::topics::PublishError<Infallible>>` is not implemented for `momento_functions_host::topics::PublishError<&str>`
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::topic::Error>` is implemented for `momento_functions_host::topics::PublishError<E>`
[INFO] [stdout]   --> src/topics.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     PublishError(#[from] topic::Error),
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | topics::publish("my_topic", "hello there")?;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::TopicPermissions::read_only (line 435) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `TopicPermissions` in this scope
[INFO] [stdout]    --> src/token.rs:436:13
[INFO] [stdout]     |
[INFO] [stdout] 436 | let perms = TopicPermissions::read_only()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ use of undeclared type `TopicPermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 435 + use momento_functions_host::token::TopicPermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::TopicPermissions::write_only (line 455) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `TopicPermissions` in this scope
[INFO] [stdout]    --> src/token.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 | let perms = TopicPermissions::write_only()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ use of undeclared type `TopicPermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 455 + use momento_functions_host::token::TopicPermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::TopicPermissions::read_write (line 415) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `TopicPermissions` in this scope
[INFO] [stdout]    --> src/token.rs:416:13
[INFO] [stdout]     |
[INFO] [stdout] 416 | let perms = TopicPermissions::read_write()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ use of undeclared type `TopicPermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 415 + use momento_functions_host::token::TopicPermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/web_extensions.rs - web_extensions::FunctionEnvironment::cache_name (line 76) stdout ----
[INFO] [stdout] error: unexpected closing delimiter: `)`
[INFO] [stdout]   --> src/web_extensions.rs:77:66
[INFO] [stdout]    |
[INFO] [stdout] 77 | let cache_name = std:env::var("__CACHE_NAME").unwrap_or_default());
[INFO] [stdout]    |                                                                  ^ unexpected closing delimiter
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/token.rs - token::TopicPermissions::new (line 393) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `TopicPermissions` in this scope
[INFO] [stdout]    --> src/token.rs:394:13
[INFO] [stdout]     |
[INFO] [stdout] 394 | let perms = TopicPermissions::new()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ use of undeclared type `TopicPermissions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 393 + use momento_functions_host::token::TopicPermissions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `TopicRole` in this scope
[INFO] [stdout]    --> src/token.rs:395:16
[INFO] [stdout]     |
[INFO] [stdout] 395 |     .with_role(TopicRole::TopicReadWrite)
[INFO] [stdout]     |                ^^^^^^^^^ use of undeclared type `TopicRole`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 393 + use momento_functions_host::token::TopicRole;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/web_extensions.rs - web_extensions::FunctionEnvironment::function_name (line 84) stdout ----
[INFO] [stdout] error: unexpected closing delimiter: `)`
[INFO] [stdout]   --> src/web_extensions.rs:85:72
[INFO] [stdout]    |
[INFO] [stdout] 85 | let function_name = std:env::var("__FUNCTION_NAME").unwrap_or_default());
[INFO] [stdout]    |                                                                        ^ unexpected closing delimiter
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/topics.rs - topics::publish (line 38) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&'static str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn f() -> Result<(), PublishError<&'static str>> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&'static str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `momento_functions_host::topics::PublishError<&str>`
[INFO] [stdout]   --> src/topics.rs:45:53
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn f() -> Result<(), PublishError<&'static str>> {
[INFO] [stdout]    |           -------------------------------------- expected `momento_functions_host::topics::PublishError<&str>` because of this
[INFO] [stdout] 45 | topics::publish("my_topic", b"hello there".to_vec())?;
[INFO] [stdout]    | ----------------------------------------------------^ unsatisfied trait bound
[INFO] [stdout]    | |
[INFO] [stdout]    | this can't be annotated with `?` because it has type `Result<_, momento_functions_host::topics::PublishError<Infallible>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `From<momento_functions_host::topics::PublishError<Infallible>>` is not implemented for `momento_functions_host::topics::PublishError<&str>`
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::topic::Error>` is implemented for `momento_functions_host::topics::PublishError<E>`
[INFO] [stdout]   --> src/topics.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     PublishError(#[from] topic::Error),
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | topics::publish("my_topic", b"hello there".to_vec())?;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/web_extensions.rs - web_extensions::FunctionEnvironment::invocation_id (line 92) stdout ----
[INFO] [stdout] error: unexpected closing delimiter: `)`
[INFO] [stdout]   --> src/web_extensions.rs:93:72
[INFO] [stdout]    |
[INFO] [stdout] 93 | let invocation_id = std:env::var("__INVOCATION_ID").unwrap_or_default());
[INFO] [stdout]    |                                                                        ^ unexpected closing delimiter
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/topics.rs - topics::publish (line 49) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn f() -> Result<(), PublishError<Json<MyStruct>>> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `momento_functions_host::topics::PublishError<Json<MyStruct>>`
[INFO] [stdout]   --> src/topics.rs:62:74
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn f() -> Result<(), PublishError<Json<MyStruct>>> {
[INFO] [stdout]    |           ---------------------------------------- expected `momento_functions_host::topics::PublishError<Json<MyStruct>>` because of this
[INFO] [stdout] 62 | topics::publish("my_topic", Json(MyStruct{ hello: "hello".to_string() }))?;
[INFO] [stdout]    | -------------------------------------------------------------------------^ unsatisfied trait bound
[INFO] [stdout]    | |
[INFO] [stdout]    | this can't be annotated with `?` because it has type `Result<_, momento_functions_host::topics::PublishError<serde_json::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `From<momento_functions_host::topics::PublishError<serde_json::error::Error>>` is not implemented for `momento_functions_host::topics::PublishError<Json<MyStruct>>`
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: the trait `From<momento_functions_wit::host::momento::functions::topic::Error>` is implemented for `momento_functions_host::topics::PublishError<E>`
[INFO] [stdout]   --> src/topics.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     PublishError(#[from] topic::Error),
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | topics::publish("my_topic", Json(MyStruct{ hello: "hello".to_string() }))?;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json<MyStruct>: momento_functions_host::encoding::EncodeError` is not satisfied
[INFO] [stdout]   --> src/topics.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | Ok(()) }
[INFO] [stdout]    | ^^ the trait `momento_functions_host::encoding::EncodeError` is not implemented for `Json<MyStruct>`
[INFO] [stdout]    |
[INFO] [stdout] help: the following other types implement trait `momento_functions_host::encoding::EncodeError`
[INFO] [stdout]   --> src/encoding.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl EncodeError for Infallible {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Infallible`
[INFO] [stdout]  9 |
[INFO] [stdout] 10 | impl EncodeError for serde_json::Error {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `serde_json::error::Error`
[INFO] [stdout] note: required by a bound in `momento_functions_host::topics::PublishError`
[INFO] [stdout]   --> src/topics.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum PublishError<E: EncodeError> {
[INFO] [stdout]    |                          ^^^^^^^^^^^ required by this bound in `PublishError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/web_extensions.rs - web_extensions::FunctionEnvironment (line 46) stdout ----
[INFO] [stdout] error[E0433]: cannot find module or crate `function_environment` in this scope
[INFO] [stdout]   --> src/web_extensions.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 | log::info!("Cache: {}", function_environment::cache());
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `function_environment`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `function_environment`, use `cargo add function_environment` to add it to your `Cargo.toml`
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 52 - log::info!("Cache: {}", function_environment::cache());
[INFO] [stdout] 52 + log::info!("Cache: {}", FunctionEnvironment::cache());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `function_environment` in this scope
[INFO] [stdout]   --> src/web_extensions.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 | log::info!("Invocation ID: {}", function_environment::invocation_id());
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `function_environment`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `function_environment`, use `cargo add function_environment` to add it to your `Cargo.toml`
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 53 - log::info!("Invocation ID: {}", function_environment::invocation_id());
[INFO] [stdout] 53 + log::info!("Invocation ID: {}", FunctionEnvironment::invocation_id());
[INFO] [stdout]    |
[INFO] [stdout] help: you may have meant to call an instance method
[INFO] [stdout]    |
[INFO] [stdout] 53 - log::info!("Invocation ID: {}", function_environment::invocation_id());
[INFO] [stdout] 53 + log::info!("Invocation ID: {}", function_environment.invocation_id());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `function_environment` in this scope
[INFO] [stdout]   --> src/web_extensions.rs:55:31
[INFO] [stdout]    |
[INFO] [stdout] 55 | let joined_query_parameters = function_environment::query_parameters()
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `function_environment`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `function_environment`, use `cargo add function_environment` to add it to your `Cargo.toml`
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 55 - let joined_query_parameters = function_environment::query_parameters()
[INFO] [stdout] 55 + let joined_query_parameters = FunctionEnvironment::query_parameters()
[INFO] [stdout]    |
[INFO] [stdout] help: you may have meant to call an instance method
[INFO] [stdout]    |
[INFO] [stdout] 55 - let joined_query_parameters = function_environment::query_parameters()
[INFO] [stdout] 55 + let joined_query_parameters = function_environment.query_parameters()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/aws/auth.rs - aws::auth::AwsCredentialsProvider::new (line 86)
[INFO] [stdout]     src/aws/auth.rs - aws::auth::AwsCredentialsProvider::new (line 97)
[INFO] [stdout]     src/aws/ddb.rs - aws::ddb::DynamoDBClient::get_item (line 84)
[INFO] [stdout]     src/aws/ddb.rs - aws::ddb::Item (line 375)
[INFO] [stdout]     src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 66)
[INFO] [stdout]     src/aws/lambda.rs - aws::lambda::LambdaClient::invoke (line 98)
[INFO] [stdout]     src/aws/s3.rs - aws::s3::S3Client::get (line 241)
[INFO] [stdout]     src/aws/s3.rs - aws::s3::S3Client::get (line 259)
[INFO] [stdout]     src/aws/s3.rs - aws::s3::S3Client::get_with_options (line 301)
[INFO] [stdout]     src/aws/s3.rs - aws::s3::S3Client::put (line 131)
[INFO] [stdout]     src/aws/s3.rs - aws::s3::S3Client::put (line 153)
[INFO] [stdout]     src/aws/s3.rs - aws::s3::S3Client::put_with_options (line 188)
[INFO] [stdout]     src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_latest_secret_value (line 206)
[INFO] [stdout]     src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 121)
[INFO] [stdout]     src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 135)
[INFO] [stdout]     src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 153)
[INFO] [stdout]     src/aws/secrets_manager.rs - aws::secrets_manager::SecretsManagerClient::get_secret_value (line 169)
[INFO] [stdout]     src/cache.rs - cache::get (line 48)
[INFO] [stdout]     src/cache.rs - cache::get (line 58)
[INFO] [stdout]     src/cache.rs - cache::get_with_hash (line 301)
[INFO] [stdout]     src/cache.rs - cache::list_push_back (line 494)
[INFO] [stdout]     src/cache.rs - cache::list_push_front (line 541)
[INFO] [stdout]     src/cache.rs - cache::set (line 101)
[INFO] [stdout]     src/cache.rs - cache::set (line 86)
[INFO] [stdout]     src/cache.rs - cache::set_if (line 167)
[INFO] [stdout]     src/cache.rs - cache::set_if (line 191)
[INFO] [stdout]     src/cache.rs - cache::set_if (line 207)
[INFO] [stdout]     src/cache.rs - cache::set_if_hash (line 337)
[INFO] [stdout]     src/http.rs - http::Response::extract (line 27)
[INFO] [stdout]     src/http.rs - http::post (line 180)
[INFO] [stdout]     src/http.rs - http::post_aws_sigv4 (line 410)
[INFO] [stdout]     src/http.rs - http::put (line 116)
[INFO] [stdout]     src/http.rs - http::put_aws_sigv4 (line 357)
[INFO] [stdout]     src/redis.rs - redis::RedisClient::pipe (line 324)
[INFO] [stdout]     src/spawn.rs - spawn::spawn (line 21)
[INFO] [stdout]     src/token.rs - token::CachePermissions::new (line 232)
[INFO] [stdout]     src/token.rs - token::CachePermissions::read_only (line 274)
[INFO] [stdout]     src/token.rs - token::CachePermissions::read_write (line 254)
[INFO] [stdout]     src/token.rs - token::CachePermissions::write_only (line 294)
[INFO] [stdout]     src/token.rs - token::FunctionPermissions::invoke (line 576)
[INFO] [stdout]     src/token.rs - token::FunctionPermissions::new (line 554)
[INFO] [stdout]     src/token.rs - token::Permissions::new (line 117)
[INFO] [stdout]     src/token.rs - token::TopicPermissions::new (line 393)
[INFO] [stdout]     src/token.rs - token::TopicPermissions::read_only (line 435)
[INFO] [stdout]     src/token.rs - token::TopicPermissions::read_write (line 415)
[INFO] [stdout]     src/token.rs - token::TopicPermissions::write_only (line 455)
[INFO] [stdout]     src/topics.rs - topics::publish (line 27)
[INFO] [stdout]     src/topics.rs - topics::publish (line 38)
[INFO] [stdout]     src/topics.rs - topics::publish (line 49)
[INFO] [stdout]     src/web_extensions.rs - web_extensions::FunctionEnvironment (line 46)
[INFO] [stdout]     src/web_extensions.rs - web_extensions::FunctionEnvironment::cache_name (line 76)
[INFO] [stdout]     src/web_extensions.rs - web_extensions::FunctionEnvironment::function_name (line 84)
[INFO] [stdout]     src/web_extensions.rs - web_extensions::FunctionEnvironment::invocation_id (line 92)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 21 passed; 53 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.61s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 4.22s; merged doctests compilation took 0.59s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "2da37130d40a77cace01e01bfb2276a157d1d5de494c5dda84b85c87153c8e33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2da37130d40a77cace01e01bfb2276a157d1d5de494c5dda84b85c87153c8e33", kill_on_drop: false }`
[INFO] [stdout] 2da37130d40a77cace01e01bfb2276a157d1d5de494c5dda84b85c87153c8e33
